/**
 * 我的信息
 * context.user
 */
var me = function() {
    var self = this;

    /**
     * 账号信息改变的回调
     */
    self.cb = null;

    // 获取信息失败，知否自动退回登录页
    self.autoExit = true;

    // 登出的页面
    self.loginFile = 'index';
};
me.prototype = {};
me.prototype.construct = me;

/**
 * 我的账号名
 */
me.prototype.get_name = function() {
    if (isEmpty(context.user) || isEmpty(context.user.user)) return "游客";
    return context.user.user.mobile || "游客";
};

/**
 * 账号余额
 */
me.prototype.balance = function() {
    if (isEmpty(context.user)) return 0;
    return context.user.balance;
};

/**
 * 未结算金额
 */
me.prototype.pending = function() {
    if (isEmpty(context.user)) return 0;
    return context.user.pending;
};

/**
 * 登出
 */
me.prototype.logout = function(cb) {
    context.user = {};
    Util.sid = null;
    if (!window.bocai)
        $.cookie("sid", "");
    CMD.signout(cb);
};

/**
 * 检测是否处于登录状态
 */
me.prototype.assureConnect = function() {
    var self = this;
    var f = function() {
        CMD.user_online_sid(function(r) {
            if (r && Util.isEmpty(r)) {
                alert("您已掉线，请重新登录！");
                Util.logout(self.loginFile);
            }
            else if (r && r.state == 1) {
                alert("账号在其他地方登录了！");
                Util.logout(self.loginFile);
            }
        });
    };
    Util.registerTimer("ASSURE_CONNECT", 15, f);
    f();
}

/**
 * 刷新用户信息
 */
me.prototype.query = function(callback) {
    var self = this;
    CMD.refresh_me(null, "", function(r) {
        if (r.length < 1) {
            callback(false);
            return;
        }
        context.user = r[0];
        if (callback) callback(r[0]);
        if (self.cb) self.cb();
    });
};

window.ME = new me();
